package com.cn.wanxi.thread.phone;

public class MySynchronized {
    public static void main(String[] args) {
// 男女朋友面对面在坐着准备吃饭，但是桌子两端各只有一只筷子，只有都拿到两只筷子才能吃饭A和B筷子
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                synchronized ("dao") {
                    System.out.println(Thread.currentThread().getName() + "拿到A筷子了");

                    synchronized ("cha") {
                        System.out.println(Thread.currentThread().getName() + "拿到A筷子,同时拿到B筷子，可以吃饭了");
                    }
                }
            }
        }, "男朋友").start();

//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                System.out.println("吃赛");
//            }
//        },"服务员").start();

        new Thread(new Runnable() {
            @Override
            public void run() {
                synchronized ("cha") {
                    System.out.println(Thread.currentThread().getName() + "拿到B筷子了");
                    synchronized ("dao") {
                        System.out.println(Thread.currentThread().getName() + "拿到B筷子,同时拿到A筷子，可以吃饭了");
                    }
                }
            }
        }, "女朋友").start();
    }
}